decode(null,null,'true','false') = 'true'? Today my database world was shattered.

For my whole lifetime I thought, comparing with a null value in Oracle results in the "false-case".

But not so for the decode function.

Anybody know, what's the idea behind this?
DECODE


  In a DECODE function, Oracle considers two nulls to be equivalent. If expr is null, then Oracle returns the result of the first search that is also null.