Safe Abstractions