use list instead of generator for better debugging
support for nested args
support for container arguments!