fwiw, dialyzer is going to complain about this. the pattern will never match