interface check in flatten()