basic case works fro structure asserts
assert substructures
treat functions like explicit asserts