first version of implementation-tags by method-specialization. Also added sugar that if all types are T we jsut use the concept name as the concept symbol, otherwise we use <concept>[t1][t2]...[tn] for n arguments, where Ti is the type or argument i.