Avoid recursion by implicit conversions