Currently, the timelock restriction is meant as a delegated puzzle wrapper, but it's implemented as a member condition validator for a specific use case in the vault primitive. This is confusing and could lead to security issues if used improperly. As such, its use should be clearly separated for both in both the Rust SDK and the bindings.