add behavioral subtyping constraint