Add type parameter to not and name parameter to capture

This also removes the spurious named_capture function.