Change traits to follow standard UnaryTypeTrait concept

As per issue #9