API design comparison