fix reader problem and add IFn protocol
since blocks are ARC collectable, use them instead of rolling a function class - will have to figure out how to dynamically extend IFn unto them at runtime, but since they are typed as blocks this should not pose a problem
remove autosave