Strip out extra, add lots of documentation, add mapN functions
Simplify implementation

Use fewer object allocations to represent a Lazy value.