Make a brand new type system in order to accept containers, tuples and pointer and to simplify its use