add typed value passing
use make_sequence in atom passer