def foo(bar):
    if not isinstance(bar, AbstractBaz):
        raise ValueError('bar must be an instance of AbstractBaz, got %s' % type(
            bar))
Is enforcing an abstract method implementation unpythonic?