Protocol: ducktyping *sucks*