map checker
SetChecker
list checker
accept visitor