Changed "rooted()" to "Connections.rooted()"
Removed redundant connection "connect(contact_a, contact_a)"
Removed use of "inner" and "outer" on parameters, which leads to illegal declarations of "outer parameter" with binding-expression. Instead used a modification (with "final" modifications of parameter values) on constraining-clause, which is inserted for any redeclarations, therefore giving the same behaviour.
Fixed erroneous annotations