remove commeted out code
make better use of types
In light of the new warnings now in perl-5.17.11

    given is experimental

    when is experimental

    Smartmatch is experimental

added no warnings 'experimental';