Add INLINE [0] pragma
More commentary on mapM
Use Identity monad for actually-pure properties