default parameter with other param
add test with side-effect
add support for default parameter that refer to another (merge #326)