Alright, never seen a code like this before.
 * why not simply use `layout == true`?
 * I assume the the weirdness about specifically caring that `layout` is not `true` comes from the previous code? ie: if I pass in an `Array` or a `Hash` or `Object.new` I'm not going to get an `ArgumentError` telling me that only `String, Symbol, Proc, false, or nil` are supported... while if I dare to set layout to `true` all hell breaks lose.