What if someone uses this method? Should we add an argument type check to prevent bugs ?