Add support for piped types (close #21)