WIP
First pass - all over but the lambdas
Ranges now a lamdba, fix specs.