Byteball has its own smart contracts, but better with declarative style and not-fully turing complete (but maybe by accident as many other things).
It's pretty important if these smart contracts are Turing complete or not. "Maybe by accident" is not what users need to hear. Can the contracts invoke other contracts (and/or themselves)? An answer to this question will give the answer to turing-completeness question.