Added a variant of simply typed that requires less coupling. Added implements clauses to untyped version for dynamic safety.