Corrected subtleties related to
Corrected ^ to achieve type-stability and added some new tests