Kernel#instance_eval

Kernel#instance_eval
- expects a block with no arguments
- takes no arguments with a block
- yields the object to the block
- only binds the eval to the receiver
- executes in the context of the receiver
- raises a TypeError when defining methods on an immediate
- raises a TypeError when defining methods on numerics