Use asserts to catch implementation errors