Enforced more correctness with type-safety.

The Hisp AST and the SKI AST now use the same underlying type, but with
different allowed abstraction type.