module lib; struct A {} struct B {} bool empty(B b) { return false; } char front(B b) { return 'b'; } void popFront(B b) {} struct C { bool empty() { return false; } int front() { return 'c'; } void popFront() {} }