A little more speed up using Float instead of Real but exposing a Real interface. It's about 10x as fast as it used to be.
Merge branch 'typed'