Implemented three different leaf versions

This seems like a huge improvement. It is also closer to what spire does.
Do warmup again
Added spire to main
Fixed bug in leaf creation
Avoid warmup for things we don't need
Added type classes for int and float
Renamed namespaces